package com.lx.t21_30;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

/**
 * @author c先生
 * @date 2022年04月29日 上午 8:58:10
 * @describe
 * 描述
 * 对输入的字符串进行加解密，并输出。
 *
 * 加密方法为：
 *
 * 当内容是英文字母时则用该英文字母的后一个字母替换，同时字母变换大小写,如字母a时则替换为B；字母Z时则替换为a；
 *
 * 当内容是数字时则把该数字加1，如0替换1，1替换2，9替换0；
 *
 * 其他字符不做变化。
 *
 * 解密方法为加密的逆过程。
 * 数据范围：输入的两个字符串长度满足 1 \le n \le 1000 \1≤n≤1000  ，保证输入的字符串都是只由大小写字母或者数字组成
 * 输入描述：
 * 第一行输入一串要加密的密码
 * 第二行输入一串加过密的密码
 *
 * 输出描述：
 * 第一行输出加密后的字符
 * 第二行输出解密后的字符
 */

public class Main29 {
    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        String encrypt = br.readLine();
        String decode  = br.readLine();
        char[] encrypts = encrypt.toCharArray();
        char[] decodes = decode.toCharArray();
        for (int i = 0; i < encrypts.length; i++) {

            if(((int)encrypts[i]) >= 65 && ((int)encrypts[i]) <= 122){
                encrypts[i] = encryptWord(encrypts[i]);
            }
            if(encrypts[i] >= '0' && encrypts[i] <= '9'){
                encrypts[i] = encryptNum(encrypts[i]);
            }
        }
        for (int i = 0; i < decodes.length; i++) {

            if(((int)decodes[i]) >= 65 && ((int)decodes[i]) <= 122){
                decodes[i] = decodeWord(decodes[i]);
            }
            if(decodes[i] >= '0' && decodes[i] <= '9'){
                decodes[i] = decodeNum(decodes[i]);
            }
        }
        System.out.println(encrypts);
        System.out.println(decodes);
    }

    //加密字母
    public static char encryptWord(char c){
        if((c >= 'a' && c <= 'z') || c >= 'A' && c <= 'Z'){
            if(c >= 'a' && c <= 'z'){
                if(c == 'z'){
                    c = 'A';
                }else {
                    c = (char) (c-32+1);
                }
            }else {
                if(c=='Z'){
                    c = 'a';
                }else {
                    c = (char) (c+32+1);
                }
            }
        }
        return c;
    }
    //加密数字
    public static char encryptNum(char c){
        if(c >= '0' && c <= '9'){
            if(c == '9'){
                c = '0';
            }else {
                c = (char) (c+1);
            }
        }
        return c;
    }

    //解密字母
    public static char decodeWord(char c){//a 97  A 65
        if((c >= 'a' && c <= 'z') || c >= 'A' && c <= 'Z'){
            if(c >= 'a' && c <= 'z'){
                if(c == 'a'){
                    c = 'Z';
                }else {
                    c = (char) (c-32-1);
                }
            }else {
                if(c=='A'){
                    c = 'z';
                }else {
                    c = (char) (c+32-1);
                }
            }
        }
        return c;
    }

    //解密数字
    public static char decodeNum(char c){
        if(c >= '0' && c <= '9'){
            if(c == '0'){
                c = '9';
            }else {
                c = (char) (c-1);
            }
        }
        return c;
    }
}
